The delivery of dynamically generated and intelligent content or knowledge (intelligent refers to the information being specifically targeted) to users of appliances, such as technical support, instructions or other information, is important to ensuring service quality and customer satisfaction. However, providing content or knowledge such as technical support is expensive and time-consuming. Furthermore, the process of obtaining technical support can be frustrating for end users, particularly where suggested fixes fail to correct the stated problem, where repeated contacts with technical support personnel are required, or where the end user is required to repeatedly explain their problem or questions to technical support personnel.
In a typical technical support solution, a technician may obtain information regarding the perceived problem being experienced by an end user each time technical support personnel are contacted. Furthermore, while such systems may enable technicians to take notes that can be viewed later by that technician or by other technicians, such notes are often incomplete, imprecise and disconnected. Therefore, identifying a problem being experienced by an end user and providing follow-up services typically require time-consuming and often repetitive queries directed to the end user or to the database regarding the problem appliance. In addition, technical support personnel have a limited body of information that they can draw from to provide end users with solutions. In particular, solutions generally consist of problem solving procedures that have been administered or created by other personnel and approved by yet another group for delivery to end users. This process can and often does lead to solutions taking weeks and/or months to be applied to real world systems for use by tech support personnel. Due to the creation of such solutions being so time-consuming, technical support personnel are often forced to work from adhoc tools or notes, and more often than not end up providing solutions to problems that are either out of date, or lack in consistency of delivery; this being especially true with regard to newly introduced systems, software or devices, or newly created or arising viruses, conflicts or other problems.
In order to assist technical support personnel in problem solving, systems may provide end users and/or the technicians with a knowledge base of information, for example consisting of frequently asked questions. However, knowledge bases are often difficult to search or require advanced understanding to use effectively, and often apply to slightly different situations or variances than those specifically addressed. Furthermore, although provision may be made for storing notes regarding solutions developed or applied by technicians in solving particular problems, such notes are generally not conveniently available to other technicians who would be assisting other end users during different and/or simultaneous time periods. As a result, knowledge gained by individual technical support personnel is often lost. In order to address this problem, technicians may be able to post solutions they have developed to administrators to be considered for inclusion in official solution procedures. However, because doing so typically requires review and editing, substantial amounts of time can elapse between development of the solution by a knowledge/programming engineer and the delivery and availability of that solution to support technicians.
In still other aspects, typical technical support systems require that technicians or end users access solutions based on correctly identifying a problem device or program. Accordingly, it may be difficult for the actual cause of problems to be identified, and solutions applied.